/**
 * 
 */
package com.fashion.server.dao;

import java.util.List;


/**
 * DB写操作的基础类定义,为避免重复定义方法，子接口可以继承此接口
 * @author WangXin
 * 
 */
public interface BaseWriteMapper<T> {

	/**
	 * 添加一条记录
	 * @param t
	 * @return int
	 */
	public int insert(T t);

	/**
	 * 选择性添加一条记录
	 * @param t
	 * @return
	 */
	public int insertSelective(T t);

	/**
	 * 根据主键选择性更新一条记录
	 * @param t
	 * @return int
	 */
	public int updateByPrimaryKeySelective(T t);
	
	/**
	 * 根据Object选择性更新一条记录
	 * @param t
	 * @return int
	 */
	public int updateByObjectSelective(T t);

	/**
	 * 根据主键更新一条记录
	 * @param t
	 * @return
	 */
	public int updateByPrimaryKey(T t);
	
	/**
	 * 根据主键删除一条记录
	 * @param id
	 * @return
	 */
	public int deleteByPrimaryKey(Integer id);
	
	/**
	 * 批量添加
	 * @param list
	 * @return
	 */
	public int batchInsert(List<T> list);

	/**
	 * 批量修改
	 * @param list
	 * @return
	 */
	public int batchUpdate(List<T> list);
	
	/**
	 * 根据主键批量删除
	 * @param ids
	 * @return
	 */
	public int batchDeleteByKeys(Object[] ids);
}
